// noinspection JSUnusedGlobalSymbols

import { defineConfig,loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

// https://vitejs.dev/config/
export default defineConfig(({command , mode}:{command:string , mode:string})=> {
  // 加载环境变量
  const env = loadEnv(mode, process.cwd())

  return {
    plugins: [vue()],
    base:'/',
    //配置path，需要安装和引入
    resolve:{
      // 配置路径别名
      alias:{
        '@':path.resolve(__dirname, './src')
      }
    },
    optimizeDeps:{
      // 开发时 解决这些commonjs包转成esm包
      include: [
        "@jiaminghi/c-render",
        "@jiaminghi/c-render/lib/plugin/util",
        "@jiaminghi/charts/lib/util/index",
        "@jiaminghi/charts/lib/util",
        "@jiaminghi/charts/lib/extend/index",
        "@jiaminghi/charts",
        "@jiaminghi/color",
      ],
    },
    build: {
      // 打包时需要另外处理的commonjs规范的包
      commonjsOptions: {
        include: [
          /node_modules/, // 必须包含
        ],
      },
    },
    server: {
      // https: true,// 启用https协议，默认是HTTP协议
      host: true, // 监听所有地址
      port: 1314,// 前端项目启动的端口号
      open: true,// 开启代理
      cors: false, // 为开发服务器配置 CORS
      proxy: {
        '^/api': {
          target: '',// 服务器地址
          changeOrigin: true,// 开启代理
          ws: true,  // 开启 websockets 代理
          rewrite: (path:string) => path.replace(/^\/api/, '')// 请求接口重写
        }
      }
    }
  }
})